home *** CD-ROM | disk | FTP | other *** search
- import java.awt.Event;
- import java.io.DataInputStream;
-
- class CKeyboard {
- static final int RETURN = 10;
- static final int DELETE = 127;
- static final int ESCAPE = 27;
- static final int TAB = 9;
- static final int BACK = 8;
- static final int INSERT = 999;
- static final int[] nVkeyList = new int[]{0, 0, 0, 10, 27, 9, 8, 127, 999, 1002, 1003, 1000, 1001, 1006, 1007, 1004, 1005, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019};
- protected int m_nFlags;
- protected String m_strKeyChars;
- protected CByteArray m_VKeyArray;
- int m_nNumberOfVirtualKeys;
-
- void SetFlags(int var1) {
- this.m_nFlags = var1;
- }
-
- int GetNumberOfVirtualKeys() {
- return this.m_nNumberOfVirtualKeys;
- }
-
- String GetVisibleKeys() {
- return this.m_strKeyChars;
- }
-
- boolean CheckKeyPress(int var1, Event var2) {
- if ((this.m_nFlags & 4) > 0) {
- return true;
- } else if (this.m_strKeyChars.length() != 0 && this.m_strKeyChars.indexOf(String.valueOf((char)var1)) != -1 && this.CheckKeyState(var2)) {
- return true;
- } else {
- for(int var3 = 3; var3 < nVkeyList.length; ++var3) {
- if (var3 < this.m_VKeyArray.GetSize() && this.m_VKeyArray.GetAt(var3) > 0 && (char)var1 == nVkeyList[var3] && this.CheckKeyState(var2)) {
- return true;
- }
- }
-
- return false;
- }
- }
-
- CByteArray GetVirtualKeys() {
- return this.m_VKeyArray;
- }
-
- CKeyboard() {
- this.m_nNumberOfVirtualKeys = nVkeyList.length;
- this.m_nFlags = 4;
- this.m_VKeyArray = new CByteArray();
- this.m_strKeyChars = "";
- }
-
- CKeyboard(CKeyboard var1) {
- this.m_nNumberOfVirtualKeys = nVkeyList.length;
- this.m_VKeyArray = new CByteArray();
- this.m_nFlags = var1.GetFlags();
- this.m_VKeyArray.Copy(var1.GetVirtualKeys());
- this.m_strKeyChars = var1.GetVisibleKeys();
- }
-
- int GetFlags() {
- return this.m_nFlags;
- }
-
- boolean CheckKeyState(Event var1) {
- if (this.m_VKeyArray.GetSize() > 2) {
- if (this.m_VKeyArray.GetAt(2) > 0) {
- if (var1.metaDown()) {
- return true;
- }
-
- return false;
- }
-
- if (var1.metaDown()) {
- return false;
- }
-
- if (this.m_VKeyArray.GetAt(1) > 0) {
- if (var1.shiftDown()) {
- return true;
- }
-
- return false;
- }
-
- if (var1.shiftDown()) {
- return false;
- }
-
- if (this.m_VKeyArray.GetAt(0) > 0) {
- if (var1.controlDown()) {
- return true;
- }
-
- return false;
- }
-
- if (var1.controlDown()) {
- return false;
- }
- }
-
- return true;
- }
-
- boolean LoadFromFile(DataInputStream var1) {
- FileLoad.ReadClass(var1);
- this.m_nFlags = FileLoad.ReadCPlusInt(var1);
- this.m_strKeyChars = FileLoad.ReadCString(var1);
- this.m_VKeyArray.LoadFromFile(var1);
- return true;
- }
- }
-